52f5e186957b49dbaaaf5e72be2a7dd1b640bf1c,core/kernel/source/jetbrains/mps/smodel/persistence/def/v0/ReferencePersister0.java,ReferencePersister0,createReferenceInModelDoNotAddToSourceNode,#SModel#VisibleModelElements#,104
Before Change
String resolveInfo = ExternalResolver.getHumanFriendlyString(extResolveInfo);
SNodeId targetId = ERI2IDConverter.convert(this.getSourceNode(), this.getRole(), extResolveInfo);
if (targetId != null) {
return SReference.create(this.getRole(),
this.getSourceNode(),
importedModelUID,
targetId,
resolveInfo);
}
// couldn't convert
After Change
// -- create reference
SReference createReferenceInModelDoNotAddToSourceNode(SModel model, VisibleModelElements visibleModelElements) {
SModelUID importedModelUID = model.getUID();
if (myUseUIDs) {
if (!myImportedModelInfo.equals("-1")) {
importedModelUID = SModelUID.fromString(myImportedModelInfo);
}
} else if (getImportIndex() > -1) {
if (myNotImported) {
importedModelUID = visibleModelElements.getModelUID(getImportIndex());
} else {
importedModelUID = model.getImportedModelUID(getImportIndex());
}
if (importedModelUID == null) {
LOG.error("Couldn't create reference from " + this.getSourceNode().getDebugText() + " : import for index [" + getImportIndex() + "] not found");
return null;
}
}
if (this.getExtResolveInfo() == null) {
return new StaticReference(this.getRole(),
this.getSourceNode(),
importedModelUID,
SNodeId.fromString(this.getTargetId()),
this.getResolveInfo());
}
String extResolveInfo = this.getExtResolveInfo();
String resolveInfo = ExternalResolver.getHumanFriendlyString(extResolveInfo);
SNodeId targetId = ERI2IDConverter.convert(this.getSourceNode(), this.getRole(), extResolveInfo);
if (targetId != null) {
return new StaticReference(this.getRole(),
this.getSourceNode(),
importedModelUID,
targetId,
resolveInfo);
}
// couldn't convert